はじめに

  • おぼえたことをがんばってめもするイッヌ
  • Windows環境を想定した内容です

設定

R

インストール

  1. CRAN(The Comprehensive R Archive Network)をクリック(The Institute of Statistical Mathematics, Tokyo)

  2. Download R for Windowsをクリック Figure1.Rのインストール方法1

  3. baseをクリック

Figure2.Rのインストール方法2

  1. Download R-X.X.X for Windowsをクリック

Figure3.Rのインストール方法3

  1. ダウンロードしたファイル(R-X.X.X-win)をダブルクリックし,次へをクリックしていく(特別な事情がなければデフォルトの設定のままでよい)

バージョンアップ/ダウン

  1. 「インストール」と同様の手順でインストール

  2. ToolsをクリックしてGlobal Optionsをクリック

Figure4.Rのバージョンアップ/ダウン方法1

  1. Changeをクリック

Figure5.Rのバージョンアップ/ダウン方法2

  1. 最新のバージョンを選択してOKをクリックしてさらにOKをクリック

バージョンダウンさせたければ,ここで古いバージョンを選択する

Figure6.Rのバージョンアップ/ダウン方法3

  1. コンソールでR.versionと打ち,バージョンを確認

Figure7.Rのバージョンアップ/ダウン方法4

  1. 反映されていなければ,一度RStudioを起動し直す

RStudio

インストール

  • Rをインストールしてから
  1. Download the RStudio IDEをクリック

Figure8.RStudioのインストール方法1

  1. スクロールしてAll Installersから”Windows X”の”RStudio-XXXX.XX.x-XXX.exe”をクリック

Figure9.RStudioのインストール方法2

  1. ダウンロードされたファイルをダブルクリックし,次へをクリックしていく(特別な事情がなければデフォルトの設定のままでよい)

ワークスペースの設定

  1. ToolsをクリックしてGlobal optionsをクリック

Figure10.RStudioの設定1

  1. Workspaceの”Restore .RData into workspace at startup”にチェックが入っていたらチェックを外す

Figure11.RStudioの設定2

  1. 同じWorkspaceの”Save workspace to .RData on exit”が”Never”になっていなければ”Never”にしてOKをクリック

Figure12.RStudioの設定3

文字コードの設定

  1. ToolsをクリックしてGlobal optionsをクリック

Figure13.RStudioの設定4

  1. CodeをクリックしてSavingをクリックしてDefault text encodingで”UTF-8”を選択してOKをクリック

Figure14.RStudioの設定5

プロジェクトの使い方

  • GitHubと連携する場合は,GitHub-tipsの”RStudioの設定”にプロジェクトの設定方法を記載しているので,そちらをご参照ください。
  1. ProjectをクリックしてNew Projectをクリック

Figure15.RStudioプロジェクトの設定1

  1. New Directoryをクリック

Figure16.RStudioプロジェクトの設定2

  1. New Projectをクリック

Figure17.RStudioプロジェクトの設定3

  1. Directory nameにプロジェクト名を入力

Figure18.RStudioプロジェクトの設定4

  1. Create project as subdirectory ofにプロジェクトを作りたい場所を指定してCreate Projectをクリック

Figure19.RStudioプロジェクトの設定5

パッケージの読み込み

  • 起動するたびにパッケージを読み込む必要がある

  • パッケージをインストールしていなければinstall.packages("tidyverse")でインストール

パッケージを読み込み

library(tidyverse)
library(palmerpenguins) # サンプルデータ

データの読み込み(Import)

csvファイルを読み込む場合

  • data.tableパッケージのfread関数
    • freadはRの文字コードに依存する
    • いまはRの文字コードがUTF-8になったので,UTF-8で作られたcsvであれば読み込める
    • cp932で作られたcsvは読み込めない
    • tibble型にはならない
    • data.table: Extension of ‘data.frame’
  • vroomパッケージのvroom関数(推奨)
    • vroomは文字コードを指定することができる
    • UTF-8がデフォルトのため,UTF-8で作られたcsvであれば引数なしに読み込める
    • cp932で作られたcsvは引数locale = locale(encoding = "cp932")を指定すれば読み込める
    • tibble型になる
    • vroom: Read and Write Rectangular Text Data Quickly
# fread(UTF-8)
# tibble型になっていないのでas_tibble()でtibble型にする
df <- 
  data.table::fread(".csv",
                    data.table = FALSE) |> 
  as_tibble()

# vroom(UTF-8)
df <- 
  vroom::vroom(".csv")

# vroom(cp932)
df <- 
  vroom::vroom(".csv",
               locale = locale(encoding = "cp932"))

Excelファイルを読み込む場合

  • readxlパッケージのread_xlsx関数
df <- 
  readxl::read_xlsx(".xlsx") |> 
  as_tibble()

# シートを指定したいときはsheet引数を使う
df <- 
  read_xlsx(".xlsx", 
            sheet = "") |> 
  as_tibble()

データ変換(Data transformation)

  • サンプルデータの内容(palmerpenguinsパッケージのpenguinsデータ)
    • 8変数344観測値のデータ
    • species: ペンギンの種類を表す因子型の変数(アデリー,ヒゲ,ジェンツー)
    • island: 南極パーマー諸島の島を表す因子型の変数(ビスコー諸島,ドリーム島,トージャーセン島)
    • bill_length_mm: くちばしの長さを表す実数型の変数(mm)
    • bill_depth_mm: くちばしの厚さを表す実数型の変数(mm)
    • flipper_length_mm: 翼の長さを表す整数型の変数(mm)
    • body_mass_g: 体重を表す整数型の変数(グラム)
    • sex: 性別を表す因子型の変数(オス,メス)
    • year: 調査年を表す整数型の変数(2007年,2008年,2009年)
    • palmerpenguins: Palmer Archipelago (Antarctica) Penguin Data
penguins
## # A tibble: 344 × 8
##    species island    bill_length_mm bill_depth_mm flipper_length_mm body_mass_g
##    <fct>   <fct>              <dbl>         <dbl>             <int>       <int>
##  1 Adelie  Torgersen           39.1          18.7               181        3750
##  2 Adelie  Torgersen           39.5          17.4               186        3800
##  3 Adelie  Torgersen           40.3          18                 195        3250
##  4 Adelie  Torgersen           NA            NA                  NA          NA
##  5 Adelie  Torgersen           36.7          19.3               193        3450
##  6 Adelie  Torgersen           39.3          20.6               190        3650
##  7 Adelie  Torgersen           38.9          17.8               181        3625
##  8 Adelie  Torgersen           39.2          19.6               195        4675
##  9 Adelie  Torgersen           34.1          18.1               193        3475
## 10 Adelie  Torgersen           42            20.2               190        4250
## # … with 334 more rows, and 2 more variables: sex <fct>, year <int>

行(select)

変数をひとつ選択する

penguins |> 
  select(species)
## # A tibble: 344 × 1
##    species
##    <fct>  
##  1 Adelie 
##  2 Adelie 
##  3 Adelie 
##  4 Adelie 
##  5 Adelie 
##  6 Adelie 
##  7 Adelie 
##  8 Adelie 
##  9 Adelie 
## 10 Adelie 
## # … with 334 more rows

変数を個別に複数選択する

penguins |> 
  select(species, island, year)
## # A tibble: 344 × 3
##    species island     year
##    <fct>   <fct>     <int>
##  1 Adelie  Torgersen  2007
##  2 Adelie  Torgersen  2007
##  3 Adelie  Torgersen  2007
##  4 Adelie  Torgersen  2007
##  5 Adelie  Torgersen  2007
##  6 Adelie  Torgersen  2007
##  7 Adelie  Torgersen  2007
##  8 Adelie  Torgersen  2007
##  9 Adelie  Torgersen  2007
## 10 Adelie  Torgersen  2007
## # … with 334 more rows

変数を連続で複数選択する

penguins |> 
  select(species:bill_length_mm)
## # A tibble: 344 × 3
##    species island    bill_length_mm
##    <fct>   <fct>              <dbl>
##  1 Adelie  Torgersen           39.1
##  2 Adelie  Torgersen           39.5
##  3 Adelie  Torgersen           40.3
##  4 Adelie  Torgersen           NA  
##  5 Adelie  Torgersen           36.7
##  6 Adelie  Torgersen           39.3
##  7 Adelie  Torgersen           38.9
##  8 Adelie  Torgersen           39.2
##  9 Adelie  Torgersen           34.1
## 10 Adelie  Torgersen           42  
## # … with 334 more rows

変数をまとめて複数選択する

obs <- 
  c("species", "year")

penguins |> 
  select(all_of(obs))
## # A tibble: 344 × 2
##    species  year
##    <fct>   <int>
##  1 Adelie   2007
##  2 Adelie   2007
##  3 Adelie   2007
##  4 Adelie   2007
##  5 Adelie   2007
##  6 Adelie   2007
##  7 Adelie   2007
##  8 Adelie   2007
##  9 Adelie   2007
## 10 Adelie   2007
## # … with 334 more rows
penguins |> 
  select(any_of(obs))
## # A tibble: 344 × 2
##    species  year
##    <fct>   <int>
##  1 Adelie   2007
##  2 Adelie   2007
##  3 Adelie   2007
##  4 Adelie   2007
##  5 Adelie   2007
##  6 Adelie   2007
##  7 Adelie   2007
##  8 Adelie   2007
##  9 Adelie   2007
## 10 Adelie   2007
## # … with 334 more rows

all_ofとany_ofの違い

# ペンギンデータに含まれていない"weight"が入ったobsを作成
obs <- 
  c("species", "year", "weight")

# all_ofを使うと"weight"がないためエラーになる
penguins |> 
  select(all_of(obs))

# any_ofを使うと"weight"がなくともエラーにならない
penguins |> 
  select(any_of(obs))

変数を選択しない

penguins |> 
  select(!species)
## # A tibble: 344 × 7
##    island  bill_length_mm bill_depth_mm flipper_length_… body_mass_g sex    year
##    <fct>            <dbl>         <dbl>            <int>       <int> <fct> <int>
##  1 Torger…           39.1          18.7              181        3750 male   2007
##  2 Torger…           39.5          17.4              186        3800 fema…  2007
##  3 Torger…           40.3          18                195        3250 fema…  2007
##  4 Torger…           NA            NA                 NA          NA <NA>   2007
##  5 Torger…           36.7          19.3              193        3450 fema…  2007
##  6 Torger…           39.3          20.6              190        3650 male   2007
##  7 Torger…           38.9          17.8              181        3625 fema…  2007
##  8 Torger…           39.2          19.6              195        4675 male   2007
##  9 Torger…           34.1          18.1              193        3475 <NA>   2007
## 10 Torger…           42            20.2              190        4250 <NA>   2007
## # … with 334 more rows

変数を個別に複数選択しない

penguins |> 
  select(!c(species, island))
## # A tibble: 344 × 6
##    bill_length_mm bill_depth_mm flipper_length_mm body_mass_g sex     year
##             <dbl>         <dbl>             <int>       <int> <fct>  <int>
##  1           39.1          18.7               181        3750 male    2007
##  2           39.5          17.4               186        3800 female  2007
##  3           40.3          18                 195        3250 female  2007
##  4           NA            NA                  NA          NA <NA>    2007
##  5           36.7          19.3               193        3450 female  2007
##  6           39.3          20.6               190        3650 male    2007
##  7           38.9          17.8               181        3625 female  2007
##  8           39.2          19.6               195        4675 male    2007
##  9           34.1          18.1               193        3475 <NA>    2007
## 10           42            20.2               190        4250 <NA>    2007
## # … with 334 more rows

ショートカット

引用文献